<?php
session_start();
$event = new eventoModel();

//Recebe o array passado pelo script com o metodo post
extract($_POST);

//Verifica se o array dados existe
if(isset($dados)){
    //var_dump($dados);//exibi conteudo do array, para testes
    
    //Inicialização da variável que irá fazer a consulta no BD
    $sql="";
    
    //opções para o array dados: 
    //$dados[0]=escolhe função:0-atualizar tabela, 1-ler Numero de linhas, 2-Deletar item
    //$dados[1]=pesquisa busca pelo input digitado
    //$dados[2]=ordena a tabela
    if($dados[0] == 0){
        
        //Se o combo status for selecionado, diferente de vazio
        if($dados[1]!= "0"){
            $sql = "where tbInscricoesIdEvento = $dados[1]";
            
            //se o input tema estiver preenchido acrescenta LIKE à consulta sql
            if($dados[3] != "")
                $sql = $sql . " AND tbEventoTema LIKE '%$dados[3]%'";
        }
        
        //para o caso do input tema estiver preenchido e o combo status nao estiver selecionado
        if($dados[1]== "0" && $dados[3] != ''){
            $sql= $sql . "where tbEventoTema LIKE '%$dados[3]%'";
        }
        
        
        $select = 'inscricoes.* , ev.tbEventoId AS evento, ev.tbEventoTema';
        $from="tbInscricoes AS inscricoes
        INNER JOIN tbEvento as ev ON inscricoes.tbInscricoesIdEvento = ev.tbEventoId
        $sql";
    
        $event->listar($select, $from);
        
        $sqlLinhas = "select $select from $from";
        //echo "$sqlLinhas";
        //Chama o metodo que atualiza a tabela na pagina eventos.php
        //($sql . " ORDER BY tbInscricoes$dados[3]");
             
        
        
        //Grava o conteudo da variavel sql para exibir a quantidade de linhas no proximo passo do script
        $_SESSION['sql']=$sqlLinhas;	
    }
    
    //Retorna a quantidade de linhas para ser exibido no rodapé
    if($dados[0] == 1){
        $sql = $_SESSION['sql'];	
        echo $event->numLinhas($sql)." registro(s) encontrado(s)";
    }
    
    //Executa a função del() para excluir evento com o id selecionado
    if($dados[0] == 2){
        $event->atualizaComboCurso($dados[1]);
    }
}    

//usado para executar as funções dos formulários de inserir ou editar dados
extract($_GET);
if(isset($funcao)){
    if($funcao == "inserir"){
        $event->inserir();
    }
    if($funcao == "edit"){
        $event->editar();
    }
}

class eventoModel{
    private $crud;
    public function __construct(){
        include 'conexaoMysql.php';
        $this->crud = new Crud();
    }
    
    function listar($select, $from){
        $resultado = $this->crud->ler('',$select, $from);
        
        //Usada para fazer o efeito zebra na tabela
        $div = 0;
        
        //relaciona a tabela
        while ($linha = mysql_fetch_array($resultado)){
             if($div%2 == 0) echo "<tr class=zebra0>"; else echo "<tr class=zebra1>"; $div++; 
		echo "<td>$linha[0]</td>";
                echo "<td>$linha[tbEventoTema]</td>";
                echo "<td>$linha[2]</td>";
                echo "<td>$linha[3]</td>";
                echo "<td><a   href=inscricoesDetalhar.php?tbInscricoesId=$linha[0]><img style=vertical-align: middle src=../images/det.png> </a>
                      <a  id=s2 href=inscricoesFormEdit.php?tbInscricoesId=$linha[0]><img style=vertical-align: middle src=../images/edit.png> </a>    
                      ";
        }
    }
    
    //<a  onclick='confirmExclusao($linha[0])'><img style=vertical-align: middle src=../images/del.png> </a></td>
    
      //funcao que informa a quantidade de registros encontrados
    function numLinhas($sql){
        //echo "$sql";
        return mysql_num_rows($this->crud->consultaLivre($sql)); 
    }
    
    function atualizaComboCurso($idEvento){
        $resultado = $this->crud->ler('tbCursos', '*', "where tbCursosIdEvento = $idEvento");
           echo " Curso: <select class=pesquisa id=comboSubEvento size=1 name=eventoCombo2 onChange=selcurso(this)>
                                <option value=0>todos</option>";
                                while ($curs = mysql_fetch_array($resultado)){
                                    echo "<option value=$curs[0]>$curs[0] - $curs[1]</option>";
                                }
                            echo "</select>";
    }


    function inserir(){
        extract($_POST);
        //$dtinicio = $this->crud->inverterData($tbEventoDataInicio);
        //$dtfim = $this->crud->inverterData($tbEventoDataFim);
        $this->crud->inserir('tbInscricoes', 
                 'tbInscricoesIdUsuario,    tbInscricoesIdEvento,   tbInscricoesIdCurso', 
                "'$comboUsuario','$comboEvento','$comboCurso'");
        header("location:index.php");
    }
    
    function editar(){
        extract($_POST);
        $this->crud->alterar('tbEInscricoes', 
                "tbEventoTema =  '$tbEventoTema',    tbEventoDescricao = '$tbEventoDescricao',   tbEventoDataInicio = '$tbEventoDataInicio',
                 tbEventoDataFim = '$tbEventoDataFim',   tbEventoCidade = '$tbEventoCidade',   tbEventoEstado = '$tbEventoEstado',
                 tbEventoNumEdicao = '$tbEventoNumEdicao', tbEventoEntidadePromovedora = '$tbEventoEntidade'", 
                "where tbEventoId = $tbEventoId");
        header("location:eventos.php");
    }

    function del(){
        $id= $_GET['tbInscricoesId'];
        $gravar = $this->crud->apagar('tbInscricoes', "where tbInscricoesId = $id");
        //header("location:eventos.php");
        if($gravar)
            echo "<script>alert('Dados alterados com sucesso!!!'); location.href='inscricoes.php'</script>";
        else
            echo "<script>alert('Erro'); location.href='inscricoes.php'</script>";
    }
}